package com.ztesoft.web.common.db.dao.mapper;

import com.ztesoft.web.common.db.arg.DmProcedureArg;
import com.ztesoft.web.common.db.po.DmProcedurePO;

import java.math.*;
import java.util.*;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

public interface IDmProcedureMapper {
    
    List<Integer> countByArg(DmProcedureArg arg);

    List<DmProcedurePO> selectByArg(DmProcedureArg arg);

    DmProcedurePO selectByPrimaryKey(Integer id);

    List<DmProcedurePO> selectByArgAndPage(DmProcedureArg arg, RowBounds rowBound);

    int insert(DmProcedurePO record);

    int insertSelective(DmProcedurePO record);

    int insertBatch(@Param("list") List<DmProcedurePO> records);

    int updateByArgSelective(@Param("record") DmProcedurePO record,
            @Param("arg") DmProcedureArg arg);

    int updateByArg(@Param("record") DmProcedurePO record,
            @Param("arg") DmProcedureArg arg);

    int updateByPrimaryKeySelective(DmProcedurePO record);

    int updateByPrimaryKey(DmProcedurePO record);
    
    int deleteByArg(DmProcedureArg arg);
    
    int deleteByPrimaryKey(Integer id);
    
    DmProcedurePO selectBySourceDataId(Integer sourceDataId);
    
}